import {lightTheme, darkTheme} from 'tsun-smart-ui';
import {
  DefaultTheme as NavigationDefaultTheme,
  type Theme,
} from '@react-navigation/native';
const {colors: lightColors, ...rest} = lightTheme;
const {colors: darkColors} = darkTheme;
export const UITheme = {
  light: {
    ...rest,
    colors: {
      ...lightColors,
      // 品牌色
      brand: {
        primary: '#13C773', // 主色
        onPrimary: '#0FB870', // 辅助色
        primaryLight: '#E2F8EF', // 浅色
        primaryDisabled: '#A1ECCE', // 禁用色
      },
      // 按钮颜色
      button: {
        primary: {
          background: '#13C773', // 主要按钮背景色
          pressed: '#0FB870', // 主要按钮按压状态
          disabled: '#A1ECCE', // 主要按钮禁用状态
          text: '#FFFFFF', // 主要按钮文本色
          textDisabled: '#FFFFFF', // 主要按钮禁用文本色
        },
        outline: {
          background: 'transparent', // 线框按钮背景色
          pressed: '#E2F8EF', // 线框按钮按压状态
          disabled: 'transparent', // 线框按钮禁用背景
          border: '#13C773', // 线框按钮边框色
          borderDisabled: '#A1ECCE', // 线框按钮禁用边框色
          text: '#13C773', // 线框按钮文本色
          textDisabled: '#A1ECCE', // 线框按钮禁用文本色
        },
        text: {
          text: '#13C773',
          pressed: 'rgba(19, 199, 115, 0.12)',
          disabled: 'transparent',
          textDisabled: '#A1ECCE',
        },
      },
      border: {
        primary: '#E2F8EF', // 边框色
        secondary: '#BFBFBF', // 边框色
      },
      background: {
        disabled: '#F0F0F0',
        primary: '#F7F9FA',
        white: '#FFFFFF',
        auxiliary: '#F5F5F5',
      },
      // 中性色
      neutral: {
        title: '#262626', // 纯黑
        secondaryTitle: '#595959', // 深灰
        primary: '#8C8C8C', // 中灰
        tip: '#BFBFBF', // 浅灰
        disabled: '#D9D9D9', // 禁用色
        white: '#FFFFFF', // 纯白
      },

      // 辅助色
      info: {
        primary: '#33A0FF', // 蓝色
        light: '#EAF4FE', // 浅蓝
      },

      success: {
        primary: '#13C773', // 绿色
        light: '#E2F8EF', // 浅绿
      },

      error: {
        primary: '#F75455', // 红色
        light: '#FFF0F0', // 浅红
      },

      warning: {
        primary: '#FF9500', // 警告色
        light: '#FFF7E6', // 浅黄
      },
      disabled: {
        primary: '#8C8C8C', // 禁用色
        light: '#f5f5f5', // 浅禁用色
      },
    },
  },
  dark: {
    ...rest,
    colors: {
      ...darkColors,
      // 品牌色
      brand: {
        primary: '#13C773', // 主色
        onPrimary: '#0FB870', // 辅助色
        primaryLight: '#1B3734', // 深色主题下的浅色
        primaryDisabled: '#196548', // 深色主题下的禁用色
      },
      // 按钮颜色 - 深色主题
      button: {
        primary: {
          background: '#13C773', // 主要按钮背景色
          pressed: '#0FB870', // 主要按钮按压状态
          disabled: '#196548', // 主要按钮禁用状态
          text: '#E6E7E8', // 主要按钮文本色
          textDisabled: '#8C8E91', // 主要按钮禁用文本色
        },
        outline: {
          background: 'transparent', // 线框按钮背景色
          pressed: '#1B3734', // 线框按钮按压状态
          disabled: 'transparent', // 线框按钮禁用背景
          border: '#13C773', // 线框按钮边框色
          borderDisabled: '#196548', // 线框按钮禁用边框色
          text: '#13C773', // 线框按钮文本色
          textDisabled: '#196548', // 线框按钮禁用文本色
        },
        text: {
          text: '#13C773',
          pressed: 'rgba(19, 199, 115, 0.12)',
          disabled: 'transparent',
          textDisabled: '#196548',
        },
      },
      border: {
        primary: '#373A3E', // 深色主题边框色
        secondary: '#3C4148',
      },
      background: {
        disabled: '#2D2F33',
        primary: '#101214',
        white: '#242629',
        auxiliary: '#36383D',
      },
      // 中性色 - 深色主题
      neutral: {
        title: '#E6E7E8', // 深色主题标题色
        secondaryTitle: '#B9BABC', // 深色主题副标题
        primary: '#8C8E91', // 深色主题主要文本
        tip: '#3B3D40', // 深色主题提示文本
        disabled: '#373839', // 深色主题禁用色
        white: '#242629', // 深色主题"白色"实际为黑色
      },
      info: {
        primary: '#4DACFF', // 蓝色
        light: '#263E55', // 浅蓝
      },
      primary: {
        primary: '#FFA640', // 绿色
        light: '#3F372F', // 浅绿
      },
      success: {
        primary: '#13C773', // 绿色
        light: '#1B3734', // 浅绿
      },

      error: {
        primary: '#F76364', // 红色
        light: '#3E2D34', // 浅红
      },

      warning: {
        primary: '#FBCA4B', // 警告色
        light: '#3E3C30', // 浅黄
      },
      disabled: {
        primary: '#8C8E91', // 禁用色
        light: '#2D2F33', // 浅禁用色
      },
    },
  },
} as const;
// // Adapt the themes for navigation and paper
export const {
  LightTheme,
  DarkTheme,
}: Record<'LightTheme' | 'DarkTheme', Theme> = {
  LightTheme: {
    ...NavigationDefaultTheme,
    colors: {
      ...NavigationDefaultTheme.colors,
      background: UITheme.light.colors.background.primary,
      card: UITheme.light.colors.neutral.white,
      text: UITheme.light.colors.neutral.title,
      primary: UITheme.light.colors.neutral.title,
      border: UITheme.light.colors.border.primary,
    },
  },
  DarkTheme: {
    ...NavigationDefaultTheme,
    colors: {
      ...NavigationDefaultTheme.colors,
      background: UITheme.dark.colors.background.primary,
      card: UITheme.dark.colors.background.primary,
      text: UITheme.dark.colors.neutral.title,
      primary: UITheme.dark.colors.neutral.title,
      border: UITheme.dark.colors.border.primary,
    },
    dark: true,
  },
};

// // Combine theming for navigation and paper

// // Theme context and provider
export type ThemeType = 'light' | 'dark' | 'system';
